/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2021-2021. All rights reserved.
 * Description: mag_harden_c_union_define.h
 * Author: Generated automatically by nManager V5.1
 * Create: 2021-09-13
 */

#ifndef MAG_HARDEN_C_UNION_DEFINE_H
#define MAG_HARDEN_C_UNION_DEFINE_H

/* Define the union csr_pll2_cfg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_cfg0 : 16; /* [15:0] */
        u32 pll2_cfg1 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_0_u;

/* Define the union csr_pll2_cfg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_cfg2 : 16; /* [15:0] */
        u32 pll2_cfg3 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_1_u;

/* Define the union csr_pll2_cfg_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_cfg4 : 16; /* [15:0] */
        u32 pll2_cfg5 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_2_u;

/* Define the union csr_pll2_cfg_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_cfg6 : 16; /* [15:0] */
        u32 pll2_cfg7 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_3_u;

/* Define the union csr_pll2_cfg_4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_cfg8 : 16; /* [15:0] */
        u32 pll2_cfg9 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_4_u;

/* Define the union csr_pll2_cfg_5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_cfg10 : 16; /* [15:0] */
        u32 rsv_1 : 16;      /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_5_u;

/* Define the union csr_pll2_cfg_6_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pllfctrl0_refdiv          : 6;  /* [5:0] */
        u32 pllfctrl0_fbdiv           : 12; /* [17:6] */
        u32 pllfctrl0_postdiv1        : 3;  /* [20:18] */
        u32 pllfctrl0_postdiv2        : 3;  /* [23:21] */
        u32 pllfctrl0_bypass          : 1;  /* [24] */
        u32 pllfctrl0_pd              : 1;  /* [25] */
        u32 pllfctrl0_mode            : 1;  /* [26] */
        u32 pllfctrl0_fout4phased     : 1;  /* [27] */
        u32 pllfctrl0_foutpostdivpd   : 1;  /* [28] */
        u32 pllfctrl0_fout2xpd        : 1;  /* [29] */
        u32 reserved                  : 2;  /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_6_u;

/* Define the union csr_pll2_cfg_7_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_pllfctrl1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_cfg_7_u;

/* Define the union csr_pll2_state_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_state0 : 16; /* [15:0] */
        u32 pll2_state1 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_state_0_u;

/* Define the union csr_pll2_state_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_lock : 1; /* [0] */
        u32 rsv_3 : 31;    /* [31:1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll2_state_1_u;

/* Define the union csr_pll3_cfg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_cfg0 : 16; /* [15:0] */
        u32 pll3_cfg1 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_0_u;

/* Define the union csr_pll3_cfg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_cfg2 : 16; /* [15:0] */
        u32 pll3_cfg3 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_1_u;

/* Define the union csr_pll3_cfg_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_cfg4 : 16; /* [15:0] */
        u32 pll3_cfg5 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_2_u;

/* Define the union csr_pll3_cfg_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_cfg6 : 16; /* [15:0] */
        u32 pll3_cfg7 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_3_u;

/* Define the union csr_pll3_cfg_4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_cfg8 : 16; /* [15:0] */
        u32 pll3_cfg9 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_4_u;

/* Define the union csr_pll3_cfg_5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_cfg10 : 16; /* [15:0] */
        u32 rsv_5 : 16;      /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_5_u;

/* Define the union csr_pll3_cfg_6_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pllfctrl0_refdiv          : 6;  /* [5:0] */
        u32 pllfctrl0_fbdiv           : 12; /* [17:6] */
        u32 pllfctrl0_postdiv1        : 3;  /* [20:18] */
        u32 pllfctrl0_postdiv2        : 3;  /* [23:21] */
        u32 pllfctrl0_bypass          : 1;  /* [24] */
        u32 pllfctrl0_pd              : 1;  /* [25] */
        u32 pllfctrl0_mode            : 1;  /* [26] */
        u32 pllfctrl0_fout4phased     : 1;  /* [27] */
        u32 pllfctrl0_foutpostdivpd   : 1;  /* [28] */
        u32 pllfctrl0_fout2xpd        : 1;  /* [29] */
        u32 reserved                  : 2;  /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_6_u;

/* Define the union csr_pll3_cfg_7_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_pllfctrl1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_cfg_7_u;

/* Define the union csr_pll3_state_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_state0 : 16; /* [15:0] */
        u32 pll3_state1 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_state_0_u;

/* Define the union csr_pll3_state_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll3_lock : 1; /* [0] */
        u32 rsv_7 : 31;    /* [31:1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll3_state_1_u;

/* Define the union csr_pll4_cfg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_cfg0 : 16; /* [15:0] */
        u32 pll4_cfg1 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_0_u;

/* Define the union csr_pll4_cfg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_cfg2 : 16; /* [15:0] */
        u32 pll4_cfg3 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_1_u;

/* Define the union csr_pll4_cfg_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_cfg4 : 16; /* [15:0] */
        u32 pll4_cfg5 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_2_u;

/* Define the union csr_pll4_cfg_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_cfg6 : 16; /* [15:0] */
        u32 pll4_cfg7 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_3_u;

/* Define the union csr_pll4_cfg_4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_cfg8 : 16; /* [15:0] */
        u32 pll4_cfg9 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_4_u;

/* Define the union csr_pll4_cfg_5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_cfg10 : 16; /* [15:0] */
        u32 rsv_9 : 16;      /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_5_u;

/* Define the union csr_pll4_cfg_6_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pllfctrl0_refdiv          : 6;  /* [5:0] */
        u32 pllfctrl0_fbdiv           : 12; /* [17:6] */
        u32 pllfctrl0_postdiv1        : 3;  /* [20:18] */
        u32 pllfctrl0_postdiv2        : 3;  /* [23:21] */
        u32 pllfctrl0_bypass          : 1;  /* [24] */
        u32 pllfctrl0_pd              : 1;  /* [25] */
        u32 pllfctrl0_mode            : 1;  /* [26] */
        u32 pllfctrl0_fout4phased     : 1;  /* [27] */
        u32 pllfctrl0_foutpostdivpd   : 1;  /* [28] */
        u32 pllfctrl0_fout2xpd        : 1;  /* [29] */
        u32 reserved                  : 2;  /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_6_u;

/* Define the union csr_pll4_cfg_7_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_pllfctrl1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_cfg_7_u;

/* Define the union csr_pll4_state_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_state0 : 16; /* [15:0] */
        u32 pll4_state1 : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_state_0_u;

/* Define the union csr_pll4_state_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll4_lock : 1; /* [0] */
        u32 rsv_11 : 31;   /* [31:1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll4_state_1_u;

/* Define the union csr_pll234_com_cfg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 dll_en_pll2 : 1;       /* [0] */
        u32 probe_mode_pll2 : 1;   /* [1] */
        u32 icg_en_probe_pll2 : 1; /* [2] */
        u32 rsv_15 : 1;            /* [3] */
        u32 dll_en_pll3 : 1;       /* [4] */
        u32 probe_mode_pll3 : 1;   /* [5] */
        u32 icg_en_probe_pll3 : 1; /* [6] */
        u32 rsv_16 : 1;            /* [7] */
        u32 dll_en_pll4 : 1;       /* [8] */
        u32 probe_mode_pll4 : 1;   /* [9] */
        u32 icg_en_probe_pll4 : 1; /* [10] */
        u32 rsv_17 : 21;           /* [31:11] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll234_com_cfg_0_u;

/* Define the union csr_pll234_com_cfg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_peri_mode : 1; /* [0] */
        u32 pll3_peri_mode : 1; /* [1] */
        u32 pll4_peri_mode : 1; /* [2] */
        u32 rsv_19 : 29;        /* [31:3] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll234_com_cfg_1_u;

/* Define the union csr_pll234_com_cfg_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 pll2_bypass_external_n : 1; /* [0] */
        u32 pll3_bypass_external_n : 1; /* [1] */
        u32 pll4_bypass_external_n : 1; /* [2] */
        u32 rsv_21 : 29;                /* [31:3] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_pll234_com_cfg_2_u;

/* Define the union csr_tsensor_cfg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 sc_temp_ctl : 14; /* [13:0] */
        u32 rsv_23 : 18;      /* [31:14] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tsensor_cfg_0_u;

/* Define the union csr_tsensor_cfg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tsensor_temp_low_lvl : 10;  /* [9:0] */
        u32 tsensor_temp_high_lvl : 10; /* [19:10] */
        u32 tsensor_int_en : 2;         /* [21:20] */
        u32 rsv_25 : 10;                /* [31:22] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tsensor_cfg_1_u;

/* Define the union csr_tsensor_satus_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 temp_val : 10;    /* [9:0] */
        u32 temp_val_vld : 1; /* [10] */
        u32 rsv_27 : 21;      /* [31:11] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tsensor_satus_0_u;

#endif // MAG_HARDEN_C_UNION_DEFINE_H
